#ifndef FORMATIONSLOT_H
#define FORMATIONSLOT_H


#include "../Tools/Tools.h"

class FormationSlot {

private:
    int spotIndex;
    Vector2D globalOrientation;
    Point2D globalPosition;
    Vector2D relativePosition;
    Vector2D relativeOrientation;
    FormationSlot *parent;

public:

    FormationSlot(double x, double y, double rotation, FormationSlot& parent, int spotIndex);
    FormationSlot();
    ~FormationSlot();
    FormationSlot(FormationSlot& fs);
    FormationSlot& operator=(FormationSlot& fs);

    Point2D getGlobalPosition();
    double getGlobalPositionOrientation(Point2D& position);
    void setGlobalPosition (double x, double y) ;
    //double signedAngle(Vector2D v) ;
    Vector2D getGlobalOrientation() ;
    void setGlobalOrientation(double x, double y);
    Vector2D getRelativePosition() ;
    double getRelativeOrientation() ;
    FormationSlot* getSpotParent() ;
    int getSpotIndex();
};

#endif // FORMATIONSLOT_H
